1. Field of the Invention
The invention relates to a forward error correction method and a communication method, and a forward error correction addition apparatus and a communication apparatus. The invention particularly relates to those method and those apparatus using FEC (forward error correction) which is particularly effective for optical packet communications to maintain high-level communication quality using the EEC.
2. Description of the Related Art
JP-A-11-68659 discloses the configuration using the FEC to enhance the communication reliability of optical interconnection.
JP-A-11-68659 is referred to as a related art.
Optical fibers are used in a large number of places, such as not only the main network of various communication systems including a submarine cable system, but also communication channels in home data communication services (FTTH: Fiber To The Home) and trunk and branch lines of in-house LAN (Local Area Network) as communication channels capable of providing a high-speed and high-quality communication network.
Generally, it has been considered that noise little exists and “error control” for detecting and correcting an information error occurring in a communication channel is not required in a communication system using the optical fibers.
In recent years, however, an “error” that information is not correctly transmitted to a receiver has occurred at a non-negligible level even in the communication system using the optical fibers with the long distance and large capacity of the network.
To transmit large-capacity information at a long distance without any error as much as possible, it is necessary to limit the relay distance of each optical communication apparatus, use a large number of optical communication apparatus, and use high-performance optical fiber transmission lines and optical communication apparatus; however, the investment costs are increased.
Then, to suppress the investment costs of the facilities, “error control method” for detecting and correcting an information error occurring in a communication channel as described above becomes important. Such error control methods in the communication system are roughly classified into FEC and ARQ (Automatic Repeat Request).
The FEC is a method of correcting an error at the receiving party using an error correction code with appropriate redundancy added to the information to be transmitted and outputting decode data as it is. The FEC has the advantages that it does not require a feedback communication channel, that system control is simple, that the delay is small, etc., but has the disadvantages in that it is difficult to handle a very long burst error, that the redundancy is large, that a decoder becomes complicated, etc.
On the other hand, the ARQ is a method of using an error detection code with appropriate redundancy added to the information to be transmitted (error correction code can also be used as error detection code) and requesting the transmitting party to resend the same data if an error is detected at the receiving party. The ARQ has the advantages that it has high reliability and is also resistant to an unforeseen error, that a decoder is simple, etc., but has the disadvantages in that it requires a feedback communication channel, that the delay may become large, that congestion is caused by repeating resending in the communication channel at a high error rate, etc.
To adopt which error control, the type of occurring error, the error correction capability, the band enlargement ratio, the apparatus scale, the operation speed, the delay time, and the like are considered.
Since the decoder of the error correction code used with the FEC is complicated as compared with the decoder of the error detection code used with the ARQ, it was considered that applying the FEC to a communication system is behind the ARQ; however, it also has become easy to implement an error correction decoder with the progression of the IC/LSI technology in recent years. Then, recently, it has become a common practice to first applying the FEC to a communication system for decreasing the error rate and then use the ARQ together if a high degree of reliability is required. A hybrid system using both the FEC and the ARQ in combination is also proposed.
By the way, the communication system using Ethernet (registered trademark) is a packet communication system which becomes most prevalent at present; particularly, it is widely used as the standard communication system in LAN. In error control in the communication system using Ethernet (registered trademark), generally error detection is only made and the Ethernet frame where an error is detected is discarded and the reliability of communications is not guaranteed. In fact, however, the reliability of communications is guaranteed because the ARQ is adopted for the protocol of TCP, etc., used with an upper layer of Ethernet (registered trademark).
The ARQ executed in the TCP is called “positive acknowledgement with retransmission.” In this system, the receiving party communicates with the transmitting party and is requested to return an acknowledgment (ACK) message to the transmitting party upon reception of data. When sending a packet, the transmitting party starts a timer and if the timer times out before acknowledgment (ACK) arrives, the transmitting party retransmits the packet.
FIG. 5 is a drawing to show a configuration example of an error correction code addition section 10 in an optical packet transmission section in a related art. FIG. 6 is a drawing to show a configuration example of an error correction code detection section 20 in an optical packet reception section in the related art.
In FIG. 5, an error detection code is added to frame data made up of a header and a payload by a cyclic redundancy check (CRC) 11. The data is encoded by an encoder 12 and is scrambled by a scrambler 13 and then is output to a transmission section of a memory controller, etc.
On the other hand, in FIG. 6, the data received in a buffer, etc., is descrambled by a descrambler 21 and is decoded by a decoder 22. Error detection is made by a cyclic redundancy check 23 and the header and the payload of the optical packet are reproduced.
FIG. 7 is a schematic representation to describe the operation of positive acknowledgment in a communication system in a related art. In FIG. 7, events in a transmission site are shown to the left and events in a reception site are shown to the right. Each slanting line crossing the center indicates transfer of one message through a network.                (1) The transmission site transmits a packet 1 and        (2) starts a timer.        (3) Upon reception of the packet 1, the reception site        (4) transmits acknowledgement ACK1.        (5) Upon reception of the acknowledgement ACK1, the transmission site        (6) cancels the timer started with transmission of the packet 1.        (7) Subsequently, the transmission site transmits a packet 2 and        (8) starts the timer.        (9) Upon reception of the packet 2, the reception site        (10) transmits acknowledgement ACK2.        
(11) Upon reception of the acknowledgement ACK2, the transmission site                (12) cancels the timer started with transmission of the packet 2.        
FIG. 8 is a schematic representation to describe the operation when a packet loss occurs in a communication system similar to that in FIG. 7.                (1) The transmission site transmits a packet 1 and        (2) starts a timer. However, a packet loss occurs by the time the packet is received in the reception site.        (3) In the reception site, the packet 1 cannot be received although the time at which the packet 1 should be received is reached, and        (4) acknowledgement ACK1 cannot be transmitted although the time at which the acknowledgement ACK1 should be transmitted is reached.        (5) In the transmission site, the acknowledgement ACK1 cannot be received although the time at which the acknowledgement ACK1 should be received is reached, and        (6) the timer started with transmission of the packet 1 times out.        (7) Then, the transmission site retransmits the packet 1 and        (8) starts the timer.        (9) Upon reception of the packet 1, the reception site        (10) transmits acknowledgement ACK1.        (11) Upon reception of the acknowledgement ACK1, the transmission site        (12) cancels the timer started with transmission of the packet 1.        
In the packet communication system in the related art, the FEC system is also adopted if large-capacity information is transmitted at a long distance and a very high degree of reliability is required; a Read-Solomon (RS) coding system is a representative. It is applied to the packet communication system by coding information in packet units.
However, the RS coding system has the disadvantages in that the flexibility of the length balance between information bits of information to be coded and redundancy bits of information added for error correction is low and that the RS coding system can be used only with limited packet, communications and the most of the available band cannot be made.
A system of coding information in units of length shorter than the packet length, such as word units can also be applied to packet communications as disclosed in JP-A-11-68659, for example.
However, in the system disclosed in JP-A-11-68659, the number of redundancy bits added to information bits is very small (short length) up to three or so relative to a word, the coding unit. Therefore, in the system disclosed in JP-A-11-68659, the flexibility of the length balance between information bits and redundancy bits is low. Further, the most of the available band cannot be made although the system can be used with a large number of types of packet communication systems because information is coded in word units.